home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
doors_1
/
mba321.zip
/
MBA320.TXT
< prev
next >
Wrap
Text File
|
1992-04-03
|
14KB
|
325 lines
MBA (Message Base Accountant)
Version 3.20 Dated 3-25-92
Copyright (C) 1990-1992 by Michael W. Cocke
All Rights Reserved.
The Hacker Central BBS
201-334-2555 (public node, 12/2400)
3 nodes, 1200 - 38.4k (HST/v32)
SUMMARY.
MBA is a sysop utility to reward callers with file upload credits for
activities besides the uploading of files. The most common use is to
give upload credits to callers who are active in the message bases.
MBA can also be used to reward callers who read specific bulletins,
open certain doors, or perform just about any action that is recorded
in the caller log.
MBA version 3.20 is the last freeware version of this utility. The
next anticipated version of MBA should be 4.0, which will be out as a
shareware product with feature and documentation improvements.
COMPATIBILITY.
MBA has been tested and used with PCBoard version 14.5a/E. (If anyone
is using the /D version and has a problem, please contact me.)
FILE LIST.
MBA320.EXE the MBA executable program
MBA320.TXT this documentation text file
BACKGROUND AND USE OF MBA.
This program was originally written for use as a 'carrot' to get some
of my callers active in the message system. The way I designed it to
work focused on rewarding callers for leaving messages. MBA can also
apply to opening doors, reading bulletins, or just about any other
caller action that leaves a unique text string in the caller log.
Every time a caller performs one of these actions specified by the
sysop, MBA will see it as one event. It's then up to the sysop to
decide how many events will equal one upload credit.
I have MBA set to run so that for every five messages left by a caller
(except in the ad conferences), MBA will award one file upload credit.
Here's how I set it up:
1) I set up an upload/download ratio system based on the number of
files (not bytes) in PCBSM.
2) I put MBA in my event before the line that calls PCBSM to adjust
the security levels.
MBA reads the caller log(s) and maintains an ISAM database file
called MSGACT.ISM. This database contains a cumulative total of
events performed by each caller, as well as 'credited events' and
'uncredited events'. A credited event is one that MBA has
already figured into the upload credit adjustment. Uncredited
events are the few leftover events before there are enough of
them to equal another upload credit. If MBA is set to award one
upload credit for every X events, then there will never be more
than X-1 uncredited events.
3) MBA then creates a backup copy of the users file, called
USERS.MBA.
4) MBA sequentially scans the users file and searches its data files
for each user. For every X uncredited events, MBA increases the
'total number of files uploaded' figure in the users file by 1.
MBA then subtracts X from the uncredited events and finally adds
X to the credited events record for the user.
MBA can optionally create an output file, the name and path of which
is configurable. This report contains all the cumulative numbers for
every registered user except the sysop. You can choose to use this
report as a bulletin.
MBA uses the caller file, so it will correctly 'see' events in any
conference.
In order to use MBA properly, you must not accumulate your caller log!
An excerpt from my event.sys file explains this more clearly:
CD \PCB\MAIN Move to the correct directory.
COPY CALLER.OLD+CALLER CALLER.OLD Append today's caller log to
the end of the history log(s).
MBA320 Run MBA on today's log(s).
DEL CALLER Delete the latest caller log
CD \PCB Move to the correct directory
PCBSM /ADJUST;FILERATIO Adjust the security levels by
upload/download activity for
the last 24 hours
BOARD Restart the board
CONFIGURATION FILE.
The config file MBA.CFG must be in the same directory as the MBA
program. It can be created with EDLIN <gag!> or any ASCII text
editor. The first five lines of MBA.CFG refer to specific processing
parameters. Lines six through the end refer to the particular actions
(such as leaving messages, reading bulletins, opening doors, etc.)
that the sysop wishes to reward. Every single instance of one of
those actions is considered an event. The purpose and format for each
line is explained in the following section.
Line 1: The full drive, path and filename of the caller log file(s).
NOTE: When running multiple nodes, the trailing number must
not be included on this line! *** Users of PCBoard versions
/D or /S and users of PCBoard version /E with only one
active node - this should contain EXACTLY the path and
filename of the callers log.
Line 2: The number of nodes MBA is to process. MBA will add the
appropriate number (1 through n) to the end of the path and
filename specified above for the caller log(s). *** Users of
PCBoard versions /D or /S and users of PCBoard versions /E
with only 1 active node - this should be set to 1, and line
1 should contain EXACTLY the path and filename of the
callers log.
Line 3: The number of events that will be equal to one file upload
credit. An event is every instance where a caller performed
one of the specified actions defined later in the config
file. For example, if MBA is being used to give credit for
any and all messages, then every individual message left
would be an event.
Line 4: The full drive, path and filename of the users file.
Line 5: The full drive, path and filename of the MBA report file.
If you do not wish MBA to produce a report, leave this line
blank.
Line(s) 6 up to 106: 'Operator' lines and 'exclude' lines.
An operator line specifies a "credit event". When MBA sees
this text in the callers log, it will add 1 to the number of
"uncredited events". This is sysop-definable so that MBA
will now work correctly with PCBTEXT files other than the
standard English. You may also choose to apply file upload
credits for opening a door or reading a bulletin. An
operator line must be entered in the following format:
O,Search Text
The O (letter O) and comma are required. The "search text"
is what MBA will search for in your caller log. This line
should be left-justified. You may specify up to 50 operator
lines in your MBA.CFG file, independent of the number of
exclude lines.
An exclude line is a line that tells MBA *not* to credit the
found event if the "exclude text" is found on the same line
of the caller log as the operator text. This may be used to
exclude messages left in certain conferences from being
applied toward upload credits. This is often used to
exclude messages left in for sale and BBS ads types of
conferences from being credited.
An exclude line MUST be entered in the following format:
X,Search Text
The X (letter X) and comma are required. The "search text"
is what MBA will search for in your caller log. This line
should be left-justified. You may specify up to 50 exclude
lines in your MBA.CFG file, independent of the number of
operator lines.
NOTES ON TEXT SELECTION FOR OPERATOR AND EXCLUDE LINES.
Be aware of the many different variations of the same information that
can be written to your caller log. For example,
Message Left: I_C-LANG (2) Conference # 20672
and
Message Left: via Qmail (2) I_C-LANG # 20672
If you have an exclude line set as "I_C-LANG #", it will be seen as an
exclude ONLY when the message is left via Qmail. MBA is very literal
about what matches what, and can only do what you tell it, not what
you meant to tell it.
CONVERSION FROM MBA 2.x OR MBAN 2.x TO MBA 3.20.
There is no way to convert your old MSGACT.NDX and .DBF files for use
with MBA 3.x. I apologize for this, but owing to an unfortunate
accident with my hard drives, I cannot provide this utility.
There are several differences you should be aware of when upgrading to
MBA 3.20 from earlier versions:
IMPORTANT! In *no* way should you attempt to run the MBAPACK utility
on the MSGACT.ISM database! MBA 3.20 now has an integral pack
utility implemented as pass 3. Attempting to pack MSGACT.ISM with the
pack utility from an earlier version of MBA will have completely
unpredictable and thoroughly unpleasant results. (Don't say I didn't
warn you.)
Since you no longer need the environment variable DBLIB, you may
delete all references to it.
CONVERSION FROM MBA 3.x TO MBA 3.20.
There have been no changes to the MSGACT.ISM file. Delete
ISAMPACK.EXE and your old MBAxxx.EXE files. Copy MBA320.EXE onto your
hard disk. Don't forget to update your event.sys file to call
MBA320.EXE or rename MBA320.EXE to whatever your event file is looking
for.
AUTHOR'S NOTES.
MBA is now share compatible with one very important exception, the
MSGACT.ISM database file. For no known reason, Microsoft *still*
hasn't implemented file locking on the ISAM file type in PDS 7.1.
(It's been four years now, I don't know what they're doing out there).
However, MBA =can= deal with reading the users file while the BBS is
up.
Several of you may be aware that this is not the version of MBA that I
had intended to write this summer. My schedule has gone completely
sour and I don't know whether I'll be able to produce the 'final'
version in that time. Since I know several of you have been waiting
for a few new features in particular, I have released this version of
MBA as an interim measure. It's still freeware, and support will
continue to be on an 'as/can' basis.
RELEASE HISTORY.
MBAx2xx Pre-version 14.5 - needed 2 different MBA programs because
of the difference in the caller file format.
MBA 3.00 Did the switchover to ISAM database from dBase III
compatible. This was pretty much a complete rewrite, since I
no longer had the source code to earlier versions. Cleaned
up the 'Log Off' detector, incorporated the code.
MBA 3.01 Corrected a bug in pass 3 (the ISAM pack).
MBA 3.02 Discovered an error message that PCBoard can produce that
does not start in column 6 of the caller file. I modified
the caller log parser to allow for this.
MBA 3.10 Caught and fixed a bug in the handling of /S, /D, and one
active node /E caller log filenames. Implemented the
'exclude conference' feature. (Thanks to Mark Rapp for
suggesting it.)
MBA 3.11 With the recent PCBoard implementation of such "flexible"
options as the ability to change the format of the lines
written to the callers log, I have added line 6 to the
MBA.CFG file, so that you can tell MBA what column the
caller's name begins in. What you need to do is this;
Look at your callers log using an ASCII file editor (or any
type of file browse utility).
Count the number of charactors (including blank spaces) that
appear in the login record before the caller's name. That
number should be entered on line #6 of the MBA.CFG file.
NOTE: I do not mean the column number that the name starts
in - I mean the number of columns before that (startcol -
1).
MBA 3.20 I was never really happy with the kludge I perpetrated in
3.11 as far as locating the user name, so I figured out a
way to locate it automatically. Made the log an option,
since it has the potential to get very large. Made the
search strings for credit and exclude sysop definable - just
for you, Terry! Fixed the copy to USERS.MBA so it doesn't
require a shell to DOS, and dropped the ISAMPACK call
because ISAMPACK doesn't work under DOS 5.0. (Don't bother
telling Microsoft, it doesn't do any good.)
MBA 3.21 Dr. Door Buster (aka Dr. Dave Klein) did it to me again!
Corrected an internal typo I made that will cause problems
if you're using more than 1 <O>perator line.
LEGAL MUMBO-JUMBO.
I accept no responsibility for anything this program does, if it does
anything at all. (At least I'm honest.)
MBA is released as no-fee shareware (freeware). This means that you
may freely copy this program and distribute it via electronic BBS's,
provided that you do not modify these files in any way. That includes
adding extra files, deleting any file, or changing any file.
PCBoard is copyright, Clark Development Company, Inc.
Qmail is copyright, Sparkware, Inc.
Microsoft is trademark, Microsoft Corp.
CONTACTING THE AUTHOR
That's about it. If you have any questions, suggestions, or screams
of outrage, you can reach me on The Hacker Central BBS (public node
201-334-2555) or via the Sysops and Shareware conferences on the ILink
echomail network.
- Michael W. Cocke -